def hold_retrieve1():
  """ DN1 call to DN2,  DN2 hold, DN2 retrieve, rel. DN1"""
  SipPhone1.MakeCall(DN2)
  SipPhone2.AnswerCall()
  SipPhone2.HoldCall()
  SipPhone2.RetrieveCall()
  SipPhone1.ReleaseCall()
  
def hold_retrieve2():
  """ DN1 call to DN2,  DN1 hold, DN1 retrieve, rel. DN1"""
  SipPhone1.MakeCall(DN2)
  SipPhone2.AnswerCall()
  SipPhone1.HoldCall()
  SipPhone1.RetrieveCall()
  SipPhone1.ReleaseCall()  

def hold_retrieve3():
  """ Inbound call to DN2,  DN2 hold, DN2 retrieve, rel.Ext1Dn"""
  Ext1SipPhone1.MakeCall(DN2)
  SipPhone2.AnswerCall()
  SipPhone2.HoldCall()
  SipPhone2.RetrieveCall()
  Ext1SipPhone1.ReleaseCall()

def hold_retrieve4():
  """ Outbound call DN2 to Ext1DN,  DN2 hold, DN2 retrieve, rel.Ext1Dn"""
  SipPhone2.MakeCall(Ext1DN2)
  Ext1SipPhone2.AnswerCall()
  SipPhone2.HoldCall()
  SipPhone2.RetrieveCall()
  Ext1SipPhone2.ReleaseCall()

